import React from 'react';
import { Route } from 'react-router-dom';
import { getToken } from 'utils/storage';

export function AuthRoute(props) {
  const { path, component: Comp } = props;
  return (
    <Route
      path={path}
      render={(props) => {
        //注意 : props是原本 Route组件会绑定到component 身上的props, 保存了路由信息
        //1, 通过render 控制跳转
        // console.log(props);
        //2,如果有token 存在 返回一个Layout 组件  表示通过可以访问
        if (getToken()) {
          // render 返回的组件 默认props.history 会丢失 需要手动绑定回去
          return <Comp {...props} />;
        }
        //3,如果token不存在 重定向到登录页面
        props.history.push('/login');
      }}
    ></Route>
  );
}
